// Autor: Andrew Leandro
// Autor: Fabian Grajeda
// Sección: 11
// Nombre del Archivo: Menu.java
// Fecha de Modificación: 25/08/2011
//
// Descripción:
// Modelación de la clase Menu en la cual se indican los
// procesos a los que se podran acceder
// ***************************************************************

import  java.util.Scanner;
public class Menu
{
    Scanner teclado_1= new Scanner(System.in);
   //-----------------------------------------------------------------
   //  Constructor: Creacion de los valores iniciales
   //-------------------------------(----------------------------------
   public Menu ()
   {
         
   }

   //-----------------------------------------------------------------
   //  Definicion de método que permite reavisar programación
   //  defensiva mediante la verificación que se haya seleccionado
   //  o ingresado un entero
   //-----------------------------------------------------------------

   public int despliegue( String caracter, int opciones, int util )
        {       int num;
                String eleccion;
                while (true)
                 {                
                    System.out.println(caracter);
                    while(true) 
					{
						eleccion=teclado_1.next();
						try
						{			   
							num=Integer.parseInt(eleccion);
							if (util==0)
							{
								if(num>=0)
								return num;
							else
								System.out.println("Ha ingresado numeros negativos");
							}
							else
							{
								if(num>=0 && num<opciones)
									return num;
								else
									System.out.println("------------Ha ingresado numeros negativos-----------");
									System.out.println("------------O Opcion seleccionada no existe-----------");
							}
								
                        }
                        catch(NumberFormatException ex){
                            System.out.println("No es un numero");
                                                        }
                    }
                 }
               
         }
   //-----------------------------------------------------------------
   //  Definicion de método que permite reavisar programación
   //  defensiva mediante la verificación que se haya seleccionado
   //  o ingresado un entero
   //-----------------------------------------------------------------

   public String IngresoChar( String caracter )
        {      
                System.out.println(caracter);
                String  decision=teclado_1.next();
                return decision;
         }
}
